// 密码工具类
const bcrypt = require('bcryptjs');

/**
 * 密码工具类
 * 提供密码加密和验证功能
 */
class PasswordUtils {
  /**
   * 加密密码
   * @param {string} password - 原始密码
   * @returns {Promise<string>} - 加密后的密码
   */
  static async hashPassword(password) {
    const salt = await bcrypt.genSalt(10);
    return await bcrypt.hash(password, salt);
  }

  /**
   * 验证密码
   * @param {string} password - 原始密码
   * @param {string} hashedPassword - 加密后的密码
   * @returns {Promise<boolean>} - 密码是否正确
   */
  static async verifyPassword(password, hashedPassword) {
    return await bcrypt.compare(password, hashedPassword);
  }
}

module.exports = PasswordUtils;